package com.newtouch.bxzs.policy.model.bo.enterprise;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 企业单新契约进度BO类
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/1/7 10:57</td>
 * <td>linhongxi</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author linhongxi
 * @version 1.0.0
 * @since 1.0.0
 */
/*lombok插件*/
@Data
@ApiModel(value = "EnterprisePolicyNewContractBO",description = "企业单新契约详情BO")
public class EnterprisePolicyNewContractBO implements Serializable {
    private static final long serialVersionUID = 3874970865538860109L;
    @ApiModelProperty(value = "保单号 policyNumber ")
    private String policyNumber;

    @ApiModelProperty(value = "投保单号 policyApplicationNumber")
    private String policyApplicationNumber;

    @ApiModelProperty(value = "保单主险种代码 policyMainInsuranceCode ")
    private String policyMainInsuranceCode;

    @ApiModelProperty(value = "保单主险种名称 policyMainInsuranceName ")
    private String policyMainInsuranceName;

    @ApiModelProperty(value = "投保单位名称 policyApplicationCompanyName")
    private String policyApplicationCompanyName;

    @ApiModelProperty(value = "统一社会信用代码 unifiedSocialCreditCode")
    private String unifiedSocialCreditCode;

    @ApiModelProperty(value = "联系人 contacts")
    private String contacts;

    @ApiModelProperty(value = "投保日期 policyApplicationDate ")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date policyApplicationDate;

    @ApiModelProperty(value = "承保日期 policyInsuredDate ")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date policyInsuredDate;

    @ApiModelProperty(value = "满期日期 policyExpirationDate ")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date policyExpirationDate;

    @ApiModelProperty(value = "保单状态 policyStatus ")
    private String policyStatus;

    @ApiModelProperty(value = "保费 policyPremium ")
    private BigDecimal policyPremium;

    @ApiModelProperty(value = "缴费金额（长险特有） policyPremium ")
    private BigDecimal paymentAmount;

    @ApiModelProperty(value = "账户余额（长险特有） policyPremium ")
    private BigDecimal accountBalance;

    @ApiModelProperty(value = "期初保费（短险特有） policyPremium ")
    private BigDecimal initialPremium;

    @ApiModelProperty(value = "累计保费（短险特有） policyPremium ")
    private BigDecimal accumulatedPremium;

    @ApiModelProperty(value = "主被保险人数（短险特有） mainInsuredNumber ")
    private String mainInsuredNumber;

    @ApiModelProperty(value = "连带被保险人数（短险特有） attachInsuredNumber ")
    private String attachInsuredNumber;

    @ApiModelProperty(value = "投保人数 holderNumber")
    private String holderNumber;

    @ApiModelProperty(value = "企业单性质 enterprisePolicyNature")
    private String enterprisePolicyNature;
}
